using System;
using System.Collections.Generic;
using System.Text;
using Doppler.Core.Plugin;
using System.Drawing;
using System.Windows.Forms;

namespace SamplePlugin {
  public class SamplePlugin : IPlugin {
    #region IPlugin Members

    public Guid Guid {
      get { return new Guid( "6598cc06-7a9f-11dc-8314-0800200c9a66" ); }
    }

    public bool HasUserOptions {
      get { return true; }
    }

    public System.Drawing.Bitmap Icon {
      get { return new Bitmap(16,16 ); }
    }

    public string Author {
      get { return "Ryan Conrad"; }
    }

    public string ProductDescription {
      get { return "Test Plugin. It does nothing."; }
    }

    public Uri ProductUri {
      get { return new Uri( "http://dopplerradio.net" ); }
    }

    public Version ProductVersion {
      get { return new Version( 0,0,0,1 ); }
    }

    public string ProductName {
      get { return "Test Plugin"; }
    }

    public string ContactEmail {
      get { return string.Empty; }
    }

    public Panel Options {
      get { 
        Panel pnl = new Panel ( );
        pnl.Controls.Add ( new Button ( ) );
        pnl.Dock = DockStyle.Fill; 
        return pnl; 
      }
    }

    #endregion

    #region IPluginEvents Members

    public void OnOptionsOpen ( ) {
      
    }

    public void OnOptionsClose ( System.ComponentModel.CancelEventArgs args ) {

    }

    public void OnOptionsSave ( ) {

    }

    public void OnOptionsLoad ( ) {

    }

    public void OnBeforeFeedSubscribe ( Uri feedUri ) {

    }

    public void OnAfterFeedSubscribe ( Doppler.Core.Subscription.DopplerFeedSubscription feedSubscription ) {

    }

    public void OnBeforeFeedUnsubscribe ( Doppler.Core.Subscription.DopplerFeedSubscription feedSubscription ) {

    }

    public void OnAfterFeedUnsubscribe ( Doppler.Core.Subscription.DopplerFeedSubscription feedSubscription ) {

    }

    public void OnBeforeEnclosureDownload ( Argotic.Core.Rss.RssEnclosure rssEnclosure, System.IO.FileInfo file, Doppler.Core.Subscription.DopplerFeedSubscription feedSubscription ) {

    }

    public void OnAfterEnclosureDownload ( System.IO.FileInfo file, Doppler.Core.Subscription.DopplerFeedSubscription feedSubscription ) {

    }

    public void OnNewFeedItem ( Argotic.Core.Rss.RssItem feedItem, Doppler.Core.Subscription.DopplerFeedSubscription feedSubscription ) {

    }

    public void OnFeedRetrievial ( Doppler.Core.Subscription.DopplerFeedSubscription feedSubscription ) {

    }

    #endregion
  }
}
